/**
 * @use 手写深拷贝 || 也可以用JSON.parse 配合 JSON.stringify
 * @param value 拷贝的对象
 * @param newObj 递归的对象
 * @returns
 */
export const deepCopy = (value: any, newObj?: any) => {
  const deepObj = newObj || {};
  for (let item in value) {
    if (typeof value[item] == "object") {
      //这里可能是[]也可能是{}
      deepObj[item] = value[item].constructor == Array ? [] : {};
      deepCopy(value[item], deepObj[item]);
    } else {
      deepObj[item] = value[item];
    }
  }
  return deepObj;
};

/**
 * @use 将url中?后面的参数装换为对象类型并返回
 * @url url完整地址 例如：https://www.google.com?name=张三&age=25"
 * @return 以&分割的 对象
 */
export const urlToObj = (url: string) => {
  const obj = {};
  const index = url.indexOf("?");
  const value = url.slice(index + 1);
  value.split("&").map((item) => {
    let [key, value] = item.split("=");
    obj[key] = decodeURI(value);
  });
  return obj;
};

/**
 * @use 取消字段选择功能
 */
export const notSelect = () => {
  document.onselectstart = function () {
      return false;
  };
};
